/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sirius.usynapse.data;

import java.util.List;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

/**
 *
 * @author jildefonso
 */
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Raza {

    @PrimaryKey
    @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
    private long id = 0;
    @PrimaryKey
    private String nombre = null;
    @Persistent
    private List<Mejora> mejoras = null;
    @Persistent
    private int sensibilidadSensor = 0;
    @Persistent
    private int puntosProximoNivel = 0;
    @Persistent
    private int factorProximoNivel = 0;
    @Persistent
    private List<Construccion> construcciones = null;

    @Override
    public boolean equals(Object obj) {
        return obj instanceof Raza ? ((Raza) obj).getId() == getId() : false;
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the mejoras
     */
    public List<Mejora> getMejoras() {
        return mejoras;
    }

    /**
     * @param mejoras the mejoras to set
     */
    public void setMejoras(List<Mejora> mejoras) {
        this.mejoras = mejoras;
    }

    /**
     * @return the sensibilidadSensor
     */
    public int getSensibilidadSensor() {
        return sensibilidadSensor;
    }

    /**
     * @param sensibilidadSensor the sensibilidadSensor to set
     */
    public void setSensibilidadSensor(int sensibilidadSensor) {
        this.sensibilidadSensor = sensibilidadSensor;
    }

    /**
     * @return the puntosProximoNivel
     */
    public int getPuntosProximoNivel() {
        return puntosProximoNivel;
    }

    /**
     * @param puntosProximoNivel the puntosProximoNivel to set
     */
    public void setPuntosProximoNivel(int puntosProximoNivel) {
        this.puntosProximoNivel = puntosProximoNivel;
    }

    /**
     * @return the factorProximoNivel
     */
    public int getFactorProximoNivel() {
        return factorProximoNivel;
    }

    /**
     * @param factorProximoNivel the factorProximoNivel to set
     */
    public void setFactorProximoNivel(int factorProximoNivel) {
        this.factorProximoNivel = factorProximoNivel;
    }

    /**
     * @return the construcciones
     */
    public List<Construccion> getConstrucciones() {
        return construcciones;
    }

    /**
     * @param construcciones the construcciones to set
     */
    public void setConstrucciones(List<Construccion> construcciones) {
        this.construcciones = construcciones;
    }

}